package cn.edu.gxu.oas.module.run.controller.admin.record.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.edu.gxu.oas.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.edu.gxu.oas.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 跑步记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RecordPageReqVO extends PageParam {

    @Schema(description = "学生ID", example = "13561")
    private Long studentId;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] endTime;

    @Schema(description = "持续时间(秒)")
    private Integer duration;

    @Schema(description = "跑步距离(km)")
    private BigDecimal distance;

    @Schema(description = "配速(分钟/公里)")
    private String pace;

    @Schema(description = "消耗卡路里(kcal)")
    private Integer calorie;

    @Schema(description = "获得积分")
    private Integer points;

    @Schema(description = "路线数据(JSON格式)")
    private String routeData;

    @Schema(description = "状态(0-有效，1-无效)", example = "1")
    private Integer status;

    @Schema(description = "备注", example = "随便")
    private String remark;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}